Enhancing Concurrent Data Structures with Concurrent Iteration Operations: Consistency and Algorithms

نویسندگان

  • YIANNIS NIKOLAKOPOULOS
  • ANDERS GIDENSTAM
  • MARINA PAPATRIANTAFILOU
  • PHILIPPAS TSIGAS
  • Yiannis Nikolakopoulos
  • Anders Gidenstam
  • Marina Papatriantafilou
  • Philippas Tsigas
چکیده

Concurrent data structures provide the means to multi-threaded applications to share data. Data structures come with a set of predefined operations, specified by the semantics of the data structure. In the literature and in several contemporary commonly used programming environments, the notion of iterations has been introduced for collection data structures, as a bulk operation enhancing the native set of their operations. Iterations in several of these contexts are treated as sequential in nature and may freeze the data structure while operating or provide a variety of consistency guarantees when running concurrently with the native operations of the data structures. In this work we study iterations in concurrent data structures with respect to their coexistence with the native operations of the latter and the guarantees that they provide under concurrency. Besides linearizability, we propose a set of consistency specifications for such bulk operations, including also concurrency-aware properties by building on Lamport’s systematic definitions for registers. By using queues, fixed-domain sets and composite registers as case-studies of underlying objects, we show a set of constructions of iteration operations, satisfying these properties. Besides the trade-off between consistency and throughput, we demonstrate the trade-off between the overhead of the bulk operation and possible support (helping) by the native operations of the data structure. We show a set of algorithms that demonstrate these and study the implications on the efficiency of the implementations.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Of Concurrent Data Structures and Iterations

Bulk operations on data structures are widely used both on user-level but also on programming language level. Iterations are a good example of such bulk operations. In the sequential setting iterations are easy to design on top of an algorithmic construction of a data structure and is not considered as a challenge. In a concurrent environment, such as a multicore system, the situation is comple...

متن کامل

Linearizable Iterators for Concurrent Sets

This paper proposes a general framework for adding linearizable iterators to a class of data structures that implement set operations. We introduce a condition on set operations, called local consistency, which informally states that set operations never make elements unreachable to a sequential iterator’s traversal. We show that sets with locally consistent operations can be augmented with a l...

متن کامل

Local Linearizability for Concurrent Container-Type Data Structures

The semantics of concurrent data structures is usually given by a sequential specification and a consistency condition. Linearizability is the most popular consistency condition due to its simplicity and general applicability. Nevertheless, for applications that do not require all guarantees offered by linearizability, recent research has focused on improving performance and scalability of conc...

متن کامل

Causal weak consistency replication: a systems approach

Data replication techniques introduce redundancy into a distributed system architecture that can help solve several of its persistent problems. In wide area or mobile systems, a replication system must be able to deal with the presence of unreliable, high-latency links. Only asynchronous replication algorithms with weak-consistency guarantees can be deployed in these environments, as these algo...

متن کامل

Generalized Construction of Scalable Concurrent Data Structures via Relativistic Programming

We present relativistic programming, a concurrent programming model based on shared addressing, which supports efficient, scalable operation on either uniform shared-memory or distributed sharedmemory systems. Relativistic programming provides a strong causal ordering property, allowing a series of read operations to appear as an atomic transaction that occurs entirely between two ordered write...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014